// 统一使用以下方式设置登录状态
function setLoginStatus(userData) {
    localStorage.setItem('isLoggedIn', 'true');
    localStorage.setItem('userId', userData.id);
    localStorage.setItem('userBasic', JSON.stringify({
        username: userData.username,
        avatar: userData.avatarPath
    }));
}

// 统一登录状态检查
function isLoggedIn() {
    return localStorage.getItem('isLoggedIn') === 'true' && 
           localStorage.getItem('userId') !== null;
}

// 表单验证
function validateForm(id_card, password) {
    if (!id_card) {
        alert('请输入身份证号');
        return false;
    }
    
    if (!password) {
        alert('请输入密码');
        return false;
    }
    
    const idCardPattern = /^\d{17}[\dXx]$/;
    if (!idCardPattern.test(id_card)) {
        alert('请输入有效的18位身份证号(最后一位可以是X)');
        return false;
    }
    
    if (password.length < 6) {
        alert('密码长度不能少于6位');
        return false;
    }
    
    return true;
}

// 登录函数
function loginUser(id_card, password) {
    const loginBtn = document.querySelector('.login-btn');
    loginBtn.disabled = true;
    const originalText = loginBtn.textContent;
    loginBtn.textContent = '登录中...';

    fetch('http://localhost:8080/api/login', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ id_card, password })
    })
    .then(response => {
        if (!response.ok) throw new Error('登录失败');
        return response.json();
    })
    .then(data => {
        if (data.code === 200) {
            setLoginStatus(data.data);
            window.location.href = 'chat.html';
        } else {
            throw new Error(data.message || '登录失败');
        }
    })
    .catch(error => {
        alert(error.message);
    })
    .finally(() => {
        loginBtn.disabled = false;
        loginBtn.textContent = originalText;
    });
}

// 检查登录状态
function checkLoginStatus() {
    if (isLoggedIn()) {
        window.location.href = 'chat.html';
    }
}

// 初始化
document.addEventListener('DOMContentLoaded', function() {
    // 检查是否已登录
    checkLoginStatus();
    
    // 绑定登录表单事件
    const loginForm = document.querySelector('.login-form');
    
    if (loginForm) {
        loginForm.addEventListener('submit', function(e) {
            e.preventDefault();
            
            const id_card = document.getElementById('id_card').value.trim();
            const password = document.getElementById('password').value.trim();
            
            if (validateForm(id_card, password)) {
                loginUser(id_card, password);
            }
        });
    }
});